inheritance explained